

import axios from "axios";
import { defineStore } from "pinia"

const useCnodeStore = defineStore("cnode", {
  // state是仓库中的状态，必须是函数的形式
  // 特点：这里的状态可以被组件共享，并且有响应式
  state: () => {
    return {
      num: 1,
      list: []
    }
  },
  getters: {
    total1() {
      return this.num * 10
    },
    total2() {
      return this.total1 * 10
    }
  },
  // 无论是同步的，还是异步的，要修改状态，都通过actions
  actions: {
    addNum(step = 1) {
      this.num += step;
    },
    async getList(params) {
      const res = await axios({
        url: "/api/v1/topics",
        method: "get",
        params
      })
      if (res.status === 200) {
        if (res.data && res.data.success) {
          this.list = res.data.data;
        }
      }
    }
  }
})

export default useCnodeStore;

